Skip to main content

Columbia MSCS

This is a post defending Columbia MSCS's reputation. Previously, many people read outdated negative posts about Columbia CS on forums and started thinking the program was no good (the original poster had already landed at Google two months later).

This article covers: 1. Job Hunting Assessment 2. Tracks 3. Course Reviews 4. Admission Info 5. Costs -- providing a relatively objective description of the Columbia MSCS program.

Job Hunting Assessment

Those who took job hunting seriously and applied daily basically all found jobs. Most offers were from big companies (since only large companies sponsor international students).

People around me received intern offers from Adobe, TikTok, Meta, Amazon, NVIDIA, and Databricks. Columbia's help with getting past the resume screen seems decent. Students I know got virtual onsites at Citadel, Jane Street, D.E. Shaw, Bloomberg, Meta, Stripe, TikTok, WeRide, Five Rings... If you had internship experience at a relatively major company during undergrad (TikTok/Alibaba/Google/Microsoft), you could probably land interviews at about 1/3 of the quant firms + big tech companies I mentioned. Everyone I know from Columbia MSCS who got an Amazon virtual onsite passed the interview. Additionally, Columbia is rated as a high-ROI school in Bloomberg's internal system, so they specifically come to recruit (they scooped up a large batch in 2022). Also, the Meta HR responsible for Columbia MSCS is very dedicated (the Columbia MSCS Meta recruiter also handles S-tier schools). They reply to emails quickly. On the first day of 24 Fall openings, they reached out to a large batch of Columbia MSCS students for new grad and intern interviews -- very impressive.

However, the job hunting atmosphere in Columbia CS is indeed not very strong. The career fair only has Bloomberg, undergrad career fairs don't allow graduate students to attend, and there's a general lack of support.

Tracks

Columbia CS has over ten tracks. The most popular ones are Software Systems and Machine Learning. I chose the former. The Machine Learning track has fewer required courses and is more flexible. The Software Systems track has more restrictions, but the course content is basically all SDE-related. If you need to simultaneously send out resumes + grind LeetCode + prepare for interviews + handle coursework, the workload is really not small.

There is a thesis track -- choosing the thesis track makes it a two-year program. You need to find a professor willing to supervise your research. You can extend to two years, and if it goes well, you can transfer to PhD.

Course Reviews

Many forum posts say Columbia's workload is huge. I personally think that's somewhat biased -- you can absolutely build a schedule of easy courses at Columbia. The workload can be heavy or light. Below are some courses that I and friends have taken (also, I never experienced the course registration difficulties or excessively long waitlists mentioned in those posts. Every course I wanted to take, I was able to enroll in, whether easy or heavy-workload courses).

  1. Operating Systems: SS track required course. Very heavy workload. Only recommended if you've already found a job -- you learn three courses' worth of content for one course's credit. However, mastering this course is very helpful for quant dev interviews. Don't take Kostis's section -- he keeps saying "like like like" during lectures, fitting six "likes" into a single sentence. Although he has a Stanford PhD, his lectures are hard to follow -- even American students can't understand what he's saying. You can take Jae's section -- that professor is reportedly excellent. (A note in defense of Professor Kostis: Kostis has Tourette's syndrome, which is why his speech has tics and sometimes he has to pause for a while before getting words out. This course focuses on the slides and assignments, so lectures serve more as supplementary. Professor Kostis is a very kind person -- he personally responds to many Ed questions and genuinely cares about students' concerns and class experience. From what I understand, Kostis's exams are not as difficult as Jae's. After all, all the course materials originally come from Professor Jae. Jae can be considered the gatekeeper of the SS track.)
  2. Programming Language Translators: SS required course. Medium workload. The project is building a compiler. Exam difficulty is lower than most compiler courses in China. Can be taken in the first semester.
  3. Cloud Computing: Easy course. Best taken in the first semester. Workload is almost nonexistent.
  4. Introduction to Database: Easy course. Also best taken in the first semester. Content is similar to database courses at Chinese universities -- writing SQL + 1/2/3/4 normal forms. If you want to fully coast and focus on job hunting this semester, take Donald's section. He likes to get upset mid-semester on Ed, complaining about how nobody comes to class, saying "I checked the backend and out of 300 students only 40 attended, average online duration was 30 minutes, and only 3 people watched the recordings." But the workload for this course is still very light. If it's a different instructor, like Professor Wu, the homework is more numerous and harder -- better to take if you've already landed a job.
  5. Distributed Systems: Identical to the MIT course. Grading is very lenient. Projects are borrowed (in a good way) + one Columbia-designed project. Great for SDE job hunting. Good course.
  6. Competitive Programming: LeetCode/Codeforces specialized training. Very heavy workload. More interview-oriented than the algorithms course.
  7. Advanced Software Engineering: SS required course. Medium workload. Build a full-stack project in Java and deploy it on Google Cloud.
  8. UI Design: Easy course. Learn React and build a full-stack project. Recently came up with a really interesting idea -- building an interview coder.
  9. Advanced Algorithm: Has absolutely nothing to do with undergrad data structures and algorithms. This course can be summarized in one sentence: design a randomized algorithm that holds when P > P_r. Could be renamed "Applications of Probability and Statistics in Mathematical Algorithms." Don't take it alongside OS.
  10. Artificial Intelligence: Mainly an intro to AI and ML. Not hard if you have a foundation. Has 5 conceptual assignments and 5 coding assignments, plus midterm and final exams. A bit tedious, but grading is fair. Recommended as an ML track required course.
  11. Applied Machine Learning: Easy course, light workload. Has 5 coding assignments, one midterm, and a group project. Good grading. Recommended.
  12. Software as a Service: Like Advanced Software Engineering, it's an SS Track required course, but you only need to choose one of the two. Taught by Professor Junfeng Yang -- very nice professor. Course content covers Ruby and Rails. First half of the semester, assignments focus on Ruby and Rails exercises; the second half revolves around group project progress reports and presentations.

Columbia MSCS courses can be far from easy if you choose well. In every course I've taken (including UI, SE, NLP, AI...), professors were genuinely teaching content -- zero PowerPoint readers. Course materials are also very detailed. No need to worry about course quality.

Admission Info

40% Chinese, 40% Indian, the rest are Americans.

Admission mainly looks at GPA. The GPA requirement for undergrads from mainland China is relatively high, while the threshold for US undergrads is relatively lower. Indian students mostly come from various IIT campuses or VIT, with GPAs around 9.1-9.2/10. They generally have two years of work experience.

Costs

The cost information on forums is also inaccurate -- it's not that expensive. The amount you need to pay the school is about $80K (tuition + various fees + insurance...). Rent in Manhattan is about $2,000/month. This program is 16 months, so it's $80K + $2,000 x 16 + $1,000 x 16 = $128K, roughly the same as CMU.

2025.2 update: Recently, friends also have interviews at Jump Trading, HRT, NVIDIA, Dropbox, Amazon, and Datadog. D.E. Shaw also pulled a few people from Columbia early for full-time interviews. In short, the school won't hold you back. If your resume has big-company internship experience, you should get interviews from about half of the companies I mentioned.

Also, after being here for half a year, I've come to love New York City more and more. It's incredibly vibrant, and downtown is full of restaurants and entertainment. Broadway shows are basically sold out every day. Here you get to experience a more diverse life. I highly recommend seriously considering coming here. After all, New York is the best university.

TA/RA Opportunities

TA hourly wage is about $24, limited to 10 hours per week. That comes out to roughly $950/month. The requirements to become a TA aren't very high, but the following conditions help significantly: first, having excellent grades in the course (A or A+); second, having relevant course or work experience. Many students meet these conditions, but who ultimately gets selected depends on the professor (so it's somewhat luck-based). CS TAs don't have to be CS majors -- it mainly depends on how broadly the course covers students. If a student from another major got an A in the course, they could potentially become a TA for it.

As for RA positions, unpaid RA positions are fairly easy to find, but paid ones are very rare (almost nonexistent, though you can't rule out encountering a particularly well-funded PI). I haven't seen anyone around me receive a paid RA offer. At Columbia CS, PhD transfer only requires the professor's approval, so as long as you work well with your advisor, transferring to PhD isn't a problem. I genuinely think if you want to pursue a PhD, you should seriously consider Columbia. Looking at the backgrounds of Columbia CS PhD students, they're basically all from top schools like Tsinghua/Peking + IIT -- IIT students are especially numerous.

Job Outcomes & Data Points

25 Summer: At least 12 Columbia MSCS students received Amazon offers.

211 CS, rank 1, ICPC silver medal, landed Databricks

Accounting career changer to CS, landed Adobe

University of Sydney (Australia) CS undergrad, ByteDance internship, landed AWS New York

CMU undergrad female student, Meta 2022 intern, intern landed Meta

CUHK-Shenzhen CS undergrad, 0 internships, landed Amazon

C9 CS undergrad, ICPC gold medal, landed Amazon

Italian undergrad, landed Amazon

CUHK-Shenzhen FinTech, career changer to CS, 0 internships, landed Amazon